package com.starview.platform.data.type;

@SuppressWarnings("serial")
public abstract class QuantifiedType extends AbstractType
{
  protected final TypeVar boundVar;
  protected final IType boundType;

  public QuantifiedType(TypeVar boundVar, IType boundType)
  {
    super(boundType.typeLabel(), boundType.kind());
    this.boundVar = boundVar;
    this.boundType = boundType;
  }

  public TypeVar getBoundVar()
  {
    return boundVar;
  }

  public IType getBoundType()
  {
    return boundType;
  }

  @Override
  public String toString()
  {
    return DisplayType.toString(this);
  }
}